#ifndef POLY_OBJECT
#define POLY_OBJECT

#include "PolyModel.h"
#include <vector>

namespace geom
{
	/** Class to represent a 3D object, that could be represented with several different models (for LOD, for example)*/
	class PolyObject
	{
		protected:
			/** Models */
			std::vector<PolyModel> m_models;

		public:
			/** Adds a model to the object
			  @param o Model to add */
			void addModel(const PolyModel & o);
			/** Gets a read-only reference to a model in the object
			  @param id Index of the model to retrieve */
			const PolyModel & getModel(int id) const;
			/** Gets a read-write reference to a model in the object
			  @param id Index of the model to retrieve */
			PolyModel & getModel(int id);
			/** Returns the number of models currently in the object */
			int getNumberOfModels() const;
	};
}

#endif
